package com.excilys.formation.project.repository;

import java.util.SortedSet;

import com.excilys.formation.project.entities.Compte;

/**
 * Interface d'accès aux comptes.
 * 
 * @author excilys
 * 
 */
public interface CompteDAO {
	/**
	 * Cherche un compte par numero.
	 * 
	 * @param numero
	 *            Numero du compte à récupérer en base.
	 * @return Le compte correspondant ou null si inexistant
	 */
	Compte getCompte(String numero);

	/**
	 * Persiste un compte.
	 * 
	 * @param compte
	 *            Compte à persister.
	 */
	void save(Compte compte);

	/**
	 * Renvoie les comptes d'un client donné.
	 * 
	 * @param clientId
	 *            l'id du client
	 * @return l'ensemble des comptes d'un client.
	 */
	SortedSet<Compte> getComptesByClient(long clientId);
}
